給定三元序對
sparse1 = [
             [5, 6, 4], 
             [1, 2, 3], 
             [2, 1, 6],
             [3, 1, 9], 
             [4, 5, 12]
          ]
轉換成一般矩陣
def restore(sparse): #三元序對轉為稀疏矩陣
    row = sparse[0][0]
    column = sparse[0][1]
    array = [[0] *column  for i in range(row)] #先建立空陣列,每一列有 column個0*共有row列
    k = 1 #從第一列開始 而非第0列開始
    while k<=sparse[0][2]:
        array[sparse[k][0]][sparse[k][1]]=sparse[k][2]
        k+=1
    return array
將一般矩陣轉換成三元序對
def store(array): #將稀疏矩陣儲存三元序對
    row=len(array) #計算三元陣列的total row
    column=len(array[0]) #計算三元陣列的total column
    s=[] #建立空的陣列
    count=0 #計算所有非0值
    for i in range(row):        #計算所有非0值
        for j in range(column):
            if array[i][j]!=0:
                count+=1
    
    s.append([row,column,count]) #儲存總數
    for i in range(row):            #將非0值儲存成三元序對
        for j in range(column):
            if array[i][j] !=0:
                s.append([i,j,array[i][j]])
    return s
看結果
array = restore(sparse1)
print("給定三元序對,還原矩陣:",array)
store(array)
three=store(array)
print("給定稀疏矩陣,轉成三元序對:",three)#依照row major 排序